Switches or switch elements are interconnected within a communication network in order to direct data from one point to another point within the network. Typically, each switch element has a plurality of inputs and a corresponding plurality of outputs. Network connections can be coupled to each of the switch element inputs and outputs. Typically, data carried on any input line of a switch element can be switched to any output line on the same switch element. Conventional switch devices typically use rearrangement or control algorithms, such as Paull's algorithm or the Looping algorithm, to establish initial configurations for the switch element.
Networks, however, do not remain fixed. Rather, frequently, some network connections are added, while others are dropped. Alternatively, data previously intended for one switch output line may be required to be shifted to another output line. In general, switching events output line may be required to be shifted to another output line. In general, switching events may occur, which would require the network connections across the switch element to be manipulated. Due to the number of connections across a single switching element, compensating for a switching event can be a complex and computationally intensive procedure. Examples of switching events include instances when network connections are added to a switch element already in use or instances when one of the links between network elements fails and another route through the network element is needed.
When switching events require new connections to be formed, conventional switch elements must be reconfigured. Many switch elements comprise devices, which are grouped into one of three stages of a three stage Clos network (i.e., within an ingress stage, a center stage or an egress stage). In response to switching events, typically, all of the switching devices in the Clos network (including those related to connections that are not directly affected by the switching event) need to be reconfigured to form new connections through the switch element.
A conventional switch element in such a rearrangeable, non-blocking switching configuration typically requires considerable computational resources to accomplish reconfiguration of the switching devices within the switch element at the speed required by such standards as SONET (Synchronous Optical Network) or SDH (Synchronous Digital Hierarchy) which requires, for example, restoration switch events to be completed within 50 ms. Due to the complexities of the algorithms used to establish such reconfigurations for switch elements, it can become even more difficult to repeatedly execute control algorithms in a manner that ensures switching events are compensated for while being transparent to the end-user. Conventional control algorithms are computationally intensive and can be intermittently unpredictable in temporal length to compute. As such, use of these algorithms for the purpose of performing rearrangements of switches with existing connections can result in unacceptable delays.
One-way to speed the reconfiguration process is to pre-configure portions of the Clos network to support change. For example, the center stage of the Clos network can be pre-configured to include standby connections. The stand-by connections can be used to realize changes in the network to support various protocols (i.e., protection protocols) or otherwise allow for reconfiguration of the network element in response to a switching event. The stand-by connections can be quickly realized without having to run resource intensive rearrangement algorithms. However, such pre-configured connections require sufficient bandwidth in the center stage, such bandwidth that is unavailable for conventional operations (i.e., over-provisioned bandwidth, that is, bandwidth over and above necessary bandwidth to support point-to-point connections).
Accordingly, there is a need for a new switching control mechanism, which provides for faster performance in response to switching events and does not require over-provisioned bandwidth.